package cn.iluwen.airline.DTOs.user.response;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 订单响应DTO
 */
@Data
public class OrderResponse {
    private String orderId;        // 订单ID
    private String orderNumber;    // 订单编号
    private BigDecimal totalAmount;// 订单总金额
    private String orderStatus;    // 订单状态
    private String contactName;    // 联系人姓名
    private String contactPhone;   // 联系人电话
    private String contactEmail;   // 联系人邮箱
    private LocalDateTime createdAt;// 订单创建时间
    
    private FlightInfo flight;      // 航班信息
    private List<TicketInfo> tickets; // 机票信息列表
    
    /**
     * 航班信息
     */
    @Data
    public static class FlightInfo {
        private String flightId;               // 航班ID
        private String flightNumber;           // 航班号
        private String departureAirportCode;   // 出发机场三字码
        private String departureAirportName;   // 出发机场名称
        private String departureCity;          // 出发城市
        private String arrivalAirportCode;     // 到达机场三字码
        private String arrivalAirportName;     // 到达机场名称
        private String arrivalCity;            // 到达城市
        private LocalDateTime departureTime;   // 起飞时间
        private LocalDateTime arrivalTime;     // 到达时间
    }
    
    /**
     * 机票信息
     */
    @Data
    public static class TicketInfo {
        private String detailId;         // 详情ID
        private String passengerName;    // 乘客姓名
        private String passengerIdCard;  // 乘客身份证号
        private String seatId;           // 座位ID
        private String seatNumber;       // 座位号
        private BigDecimal ticketPrice;  // 票价
        private String ticketClass;      // 舱位等级
        private Boolean checkInStatus;   // 值机状态
    }
} 